#ifndef INTERNALS_H_E3559CAD_577E_4C71_93E6_FBBB2291DA3A_
#define INTERNALS_H_E3559CAD_577E_4C71_93E6_FBBB2291DA3A_

// ensure we can inline a select few routines
#ifdef _MSC_VER
	#define OATINLINE(ReturnType) extern __forceinline ReturnType
#elif __INTEL_COMPILER
	#define OATINLINE(ReturnType) extern __force_inline ReturnType
#else
	#ifdef __cplusplus
		#define OATINLINE(ReturnType) extern inline ReturnType
	#else
		#define OATINLINE(ReturnType) extern ReturnType
	#endif
#endif

// resource identifier declarations should only be included once, so take care of it here
#ifdef _WIN32
	#include "..\..\Res\Windows\Resource.h"
#endif

// limitations
#define OAT_MAX_LARGESTRING			1024		// max buffer to load for larger string data
#define OAT_MAX_LIGHTS				8			// all OGL implementations are guaranteed at least 8
#define OAT_MAX_SMALLSTRING			64			// max buffer to load for small string data
#define OAT_MAX_STRING				256			// max buffer to load for simple string data
#define OAT_MAX_MIPMAPS				16			// max number of mipmap levels
#define OAT_MAX_MULTITEXTURES		8			// max of 8 multi-textures, 1 regular
#define OAT_VERSION					0.1f

// standard includes
#include <string.h>								// includes string manipulation routines
#include <stdlib.h>								// includes standard libraries
#include <stdio.h>								// includes standard input/output routines
#include <math.h>								// includes mathematical routines
#include <limits.h>								// includes limitations of the CRT implementation
#include <gl\gl.h>								// the OpenGL Library

#endif  // INTERNALS_H_
